Electronic digital computing devices



18 Sheetsheet 1 Eko /VV f mmm,

Sn Fi.

Us. my

F. C. WILLIAMS EVAL ELECTRONIC DIGITAL COMPUTING DEVICES Dec. 12, 1961Original Filed June l, 195C Dec. l2, 1961 F. c. WILLIAMS ET AL 3,012,724

ELECTRONIC DIGITAL COMPUTING DEVICES 18 Sheets-Sheet 2 Original FiledJune l, 1950 zum m1. 1 mi UFO OmGrGFm u mOmGrDt'm J o 0 .m om.

7V. .Ill

Dec. 12, 1961 F. c. wlLLlAMs ETAL 3,012,724

ELECTRONIC DIGITAL COMPUTING DEVICES Original Filed June l, 195C 18Sheets-$11691; 5

l /BFAT l 4/ 243 44 451/ 45 sfrl 3 4 5 6 7 8 9 /0 40 4 l cLoc/r (l) 1BLACK OUT (W) 1 00T YV) DASH '(w) E0 (vii/7l P (if) Dec. 12, 1961 F. C.WILLIAMS ETAL ELECTRONIC DIGITAL COMPUTING DEVICES Original Filed June1, 1950 18 Sheets-Sheet 4 HALSVE c UNE Dec. 12, 1961 F. c. WILLIAMSx-:TAL 3,012,724

ELECTRONIC DIGITAL COMPUTING DEVICES Original Filed June l. 1950 18Sheets-Sheet 5 F/ad.

BAPE 3 $1 Al 5E A2 .Sl A! $2 A2 .Sl Al 52 A2 olf'. H-s (xix) Amo/v (hiv)maas/@wm ACT/0N mum) WX) Dec. 12, 1961 F. c. WILLIAMS ETAL 3,012,724

ELECTRONIC DIGITAL COMPUTING DEVICES Original Filed June 1, 1950 18Sheets-Sheet 6 Dec. 12, 1961 F. c. WILLIAMS ET AL 3,012,724

ELECTRONIC DIGITAL COMPUTING DEVICES Original Filed June l, 1950 18Sheets-Sheet 7 Amon w/l= GENERATOR 90 r Eo c1. L l am WG Y- FLIP mp -07ss Plug/ATE a WG FLlP nop PARQ f '1 Acrlou ACTION f 38 36 W/F W/F 3slPREPULSE mwp l ngen w/F w/f fATE www 37 L [PLATE IVE @ENR l HALVER- A wF/G /0 MBAR O BARI BAR?" BRSlI-n- BAR .3E- A s A s A s I A s S l A' sl As' A* s* A* HALvER-s L (fx) l 'rEPuLsz v I V V 'uw maqma 4msmm'r i srmassa 1 d u A i Km) l l comPnm oN (ffm) l Dec. 12, 1961 F. C. WILLIAMSETAL ELECTRONIC DIGITAL COMPUTING DEVICES Original Filed June l, 1950COUNTER *30o +300 o Vf Iax 47K DIS RIS

IZK 47K 18 Sheets-Sheet 8 470K H Lv R A E A wff 12o 22K +200 VIS Dec.12, 1961 F. c. WILLIAMS ErAL 3,012,724

ELECTRONIC DIGITAL COMPUTING DEVICES 18 Sheets-Sheet 9 Original FiledJune l, 1950 Dec. l2, 1961 F. c.w1LL|AMs ETAL 3,012,724

ELECTRONIC DIGITAL. COMPUTING DEVICES Original Filed June l, 1950 18Sheets-Sheet 10 F* l BAR i BEAT BEAT BEAT BEAT Sl Al S 2 A2 c Nv clLEVEL (ll) CL *7"* Y- sHlFT i LEVEL (zii) man Sl GATE (Ziii) INVrouN-rER o c o (ew) Fo INV v Fo E Cb (VU msTRucTloN BACK EDGE pls GATE J(CO) BACK /EDGE oF pI? fRoNT EDGEp'zd (lv'vi) L |mswucrw- GATE (C I)Dec. 12, 1961 F. c:.w|| 1AMs ETAT 3,012,724

ELECTRONIC DIGITAL COMPUTING DEVICES 18 Sheets-Sheet 1l Original FiledJune 1, 1950 k .E23 JOGPZA u 20mn Dec. 12, 1961 F. c. WILLIAMS ETAL3,012,724

ELECTRONIC DIGITAL COMPUTING DEVICES 18 Sheets-Sheet 12 Original FiledJune l, 1950 oon...

Dec. 12, 1961 F. c. WILLIAMS ETAL 3,012,724

ELECTRONIC DIGITAL COMPUTING DEVICES original Filed June 1, 195o 18sheets-Sheet 1:5

HALVERS v Vf MSITR MSsTA-rlcnson 27 llll`|ll Ysa "l READ umT MS` MAIN lSTORE 28 fw 'T''nNszfDf ors. if 1G am J GATE

fsfaf H'A ACCUM-h A w/f fo' 51 ConP- ULATOR Stal'li-4 TRGGER ARISON I.TU/ umT UNIT SUR-f 1 ns1-+I 1 umT+2 l J 64 PEU ADD +I PREPuLs GATE w OGEN a UT'T PPuLSs (JJ 65 52 1 (63 /f PHI z (p0 IGA lS/TR N56 PULSE foHALvEe @Ars I5 sTAncnsoR w sratr 5 gg A yf p LU TQlcsE H1; C o I5.Y5mFT/f L Pl -JN-1 f *GP2 Mmm] H613. *GP5 C f LNu P4 ,5 q

C WG

H5 FRM M$ Dec. 12, 1961 F. c. WILLIAMS ErAL 3,012,724

ELECTRONIC DIGITAL COMPUTING DEVICES Original Filed June l, 1950 18Sheets-Shed'l 14 PREpuLsE w/f f r Zfwm A am P Sra HALvER-S n 4 Tl 4J/fF/6./5.

tv l sl'abr TCIO DIFF l HALVEES w/f 7| I AYSG Dec. 12, 1961 F. C.WILLIAMS ET AL ELECTRONIC DIGITAL COMPUTING DEVICES Original Filed June1, 1950 18 Sheets-Sheet 15 l l CONTROL y-$mfr B15 85] Cl? GYWG I J '2726 @80 202@ es .D 8i) 5mn/ase 26) 5mg? wml' '52?? :I im? w., 1

52 l. UNIT 29 CONTROL I Tues 30 um msTRucT- GAT 85 84 um GATE Taf. sGATE |5 l l OTG 86 Mumnse ACTIoJ' lffa. A '/f Co j J F/a. 12

Y gmfz 80 SME 2r GATE l l 1 #stat F/ 6. 18.

B SI Al 52 A2 (a) B? quvEscENr Y-sruFT B0 p0 Y-s Fr (b) Bi l LHJNSTumori "V'MP posn. (c) g? P20 Y-5H| r KnmsrkucrloN "lm P20 posn Bo l I BlL is Bo Bo I V (e) B l S Bl Dec. l2, 1961 F. c. WILLIAMS ETAL 3,012,724

ELECTRONIC DIGITAL CMPUTING DEVICES Original Filed June 1, 1950 18Sheets-Sheet 16 FROM ourwARo F/G- 79.

TRANSFER.

"50 '|50 f B Y-SmFr T0 STATCISOR. mi

HALVE R `S Dec. 12, 1961 F. c. WILLIAMS ETAL 3,012,724

ELECTRONIC DIGITAL COMPUTING DEVICES Original Filed June 1, 1950 18Sheets-Sheet 17 P- PULSE b oUTDUT "cmo RESE! PULSE lA/t DESET PULSEOUTPUT INPUT 4 mm Tmcm C fj immun, PULSE INPUT f PULSE OUTPUT.

d moo RIOB is P- Rm m05 moa cm3 twv DASH w/f ELECTRONIC DIGITALCOMPUTING DEVICES Original Filed June l, 1950 18 Sheets-Sheet 18 Y-SHTTT VF XTB 7F AMPUPTED.

VIV'

READ UNTT L nol |23 .muy

1 HALVER-A in mf' 122 D03/ READ WQ|TE OUTPUT IN DUT WRTE UNIT UnitedStates Patent Olifice 3,012,724 Ptented Dec. l2, 1961 3,012,724ELECTRONIC DIGITAL COMPUTING DEVICES Frederic Calland Williams, Romiley,Tom Kilburn, Davyhulme, Manchester, Maxwell Herman Alexander Newman,Altrincham, and Geoffrey Colin Tootill, Hawley, Camberley, England,assignors, by mesne assignments, to International Business MachinesCorporation, New York, N.Y., a corporation of New York Originalapplication .lune 1, 1950, Ser. No. 165,434, now Patent No. 2,810,516,dated Oct. 22, 1957. Divided and this application July 22, 1957, Ser.No. 673,522 Claims priority, application Great Britain June 22, 1949 4SClaims. (Cl. 23S-157) This invention relates to electronic digitalcomputing machines and is particularly, although by no meansexclusively, concerned with binary-digital computing systems whichemploy digital storage or memory devices of the type described in thepaper by F. C. Williams and T. Kilburn, Proc. Institution of ElectricalEngineers, part III, March 1949, pages 81-100.

This application is a divisional application from application Serial No.165,434, filed June l, 1950, by F. C. Williams et al., for ElectronicDigital Computing Devices.

Universal digital computing machines, i.e. computing machines which areintrinsically capable of performing any computation desired, providedthat adequate storage is provided, operate by handling a mathematicalproblem as a series of simple arithmetic operations which can beperformed upon numbers which arc held in a storage or "rnemory withinthe machine. Such machines, in general, conform to a similar pattern. Inthese machines there exists a store in which all data required in thesolution of a problem is recorded, each element of data having a uniquelocation or "address" defined by its spatial or temporal position or bya combination of both, one or more arithmetic organs, which generallyinclude a subsidiary store or accumulator, in which elementaryarithmetical operations can be performed between numbers fed (generallyat different times) to the arithmetic organ, and finally a controlsystem which controls the sequence of operations of the machine andorders the necessary transfers of numbers and arithmetical operations.

For any particular problem the programme of operations to be carried outby the machine is broken down into a series of orders, each of whichrepresents an ele mentary number transfer or arithmetical operation.These orders may be conveniently expressed in code form as numbers andstored in the memory of the computing machine, as part of the data ofthe problem, until required and called into operation by the controlsystem of the machine. Each step of operation performed by the machinein response to a single order may be reduced in effect to the transferof a number between the store and some other portion of the machine (ingeneral the arithmetic organ) and an arithmetical operation may or maynot occur automatically as a result of the transfer. For example, twonumbers may be added by rst feeding one number from the store to thearithmetic organ, where it is stored in an accumulator, as a result of afirst order or instruction and then feeding the second number from thestore to the arithmetic organ, under the control of a secondinstruction, in such a fashion that it is added to the rst number heldin the accumulator. The coded order or instruction words therefore haveto define the addresses in the main store of the machine from which orto which a number transfer is to occur and must also define the otherdestination or source of the transferred number and any arithmeticaloperation which is to occur as a result of the transference.

The obeying of each single instruction by the machine may be regarded asthe fundamental unit of operation of the machine and the intervalinvolved in the obeying of an instruction is referred to hereinafter asa ban A sub-interval or, as it is sometimes referred to, a minor cycleis occupied by the time taken to express within the machine in dynamicform a number or instruction word. Such intervals are referred to asbeats." lt is apparent that any number transference must by itselfoccupy one beat as. in order to transfer a number or word which existsin static form in the store to another address where it is againrepresented in static form, it is necessary to convert the number orword to dynamic form and that such conversion is the essence of thetransfer as any digit of a number or word existing transiently indynamic form may be employed to recreate its static counterpartimmediately in a storage location.

In working through a problem the computing machine normally obeysinstructions sequentially and as the instruction words are stored in themain storage system of the machine each instruction word has to be readout in turn in dynamic form, the process of reading involving thetransient identification of each digit of a word held in a store and thesimultaneous provision of a transient signal representative of thedigit, so that the word may effect the necessary control functions inthe machine which are requisite for the obeying of the instruction. Thesequential selection of instruction words from the store must beperformed by a subsidiary controlling function of the machine; theutilization of each instruction word in the store necessarily involvesin effect a transfer of that word out of the store and may be effectedunder the direction of a control instruction which is held in asubsidiary storage portion of the machine. lt is i arranged that uponthe completion of the ope-ration of obeying each instruction, thecontrol instruction relating to the next instruction in the sequence tobe obeyed is caused to become effective and initiate the eventsoccupying the next bar in the operation of the machine. The controlinstructions required when instructions recorded in specified addressesin the store are to be selected sequentially may be readily derived, forexample, by the operation of a completion signal at the end of each bar.

The automatic process of sequential selection of instructions mayrequire lo be broken automatically in certain circumstances. Forexample, transfer of the control exercised by the control instructionsmay be required to take place in response to an arbitrary instruction inthe sequence, possibly a reversion to an instruction previously used ora jump ahead to a new instruction. Such transfers of control may occuras the result of a test made upon the state of a partial solutionexisting in the computing machine and the conditional transfer may beproduced by appropriate arrangement of the instructions recorded in thestore when the programme for the problem on hand was designed. Forexample, a particular group of q instructions whose addresses may bedenoted as n-l-l, n-l-Z n-l-q-l, n+q may be repeated if, at a particularstage in the solution of a problem the partial solution availablecomplies with a certain requirement (e.g. of sign), while if therequirement is not complied with the machine may be required to progressto a new set of instructions. Such a conditional transfer of the controlof the machine may be effected by arranging that instruction n-l-q-lcalls for the necessary test of the partial solution and that wheninstruction n-l-q-l has been obeyed, causing the machine to proceedeither to instruction n-l-q, or by omitting one instruction, toinstruction n-l-q-I-l in dependence upon the result of the test.Instruction n-l-q may be designed to cause a backward transfer ofcontrol by causing the machine to subtract a quantity q from the controlinstruction number, the number q being obtained from the store whereinit was originally loaded as part of the data, so that the controlinstruction reverts to instruction n. The instruction 11-{-q+l on theother hand may be designed to allow the solution to proceed. Otherarrangements may be made for control transfer; for example, aninstruction n, selected by the control instruction after an instructioncalling for a test has been completed, may require control to betransferred to an entirely new instruction in address location m andthis may be achieved by causing the instruction n to replace the controlinstruction by a number m-l so that the normal sequential selectionfunction performed by the control instruction mechanism causes theinstruction m to be next selected. Alternatively, the instruction n maybe designed to cause the number (m-l )-n to be added to the existingcontrol instruction number with the same effect.

One existing form of computing machine of the gcncral type outlinedabove comprises a memory, referred to as the Main Store, which consistsof a number of cathode ray tube storage units operating upon theprinciples described in the aforesaid paper by F. C. Williams and T.Kilburn. The machine operates in the serial mode, i.e. numbers in binarynotation are represented dynamically as trains of pulses in commonchannels and each word occupies an "address comprising a line or portionof a line on one cathode ray tube of a raster-like pattern applied incommon to all the cathode ray tubes in the store. Reading of aparticular word in the store, i.e. the observation and reproduction indynamic form of that word during one beat without destruction of therecorded word may be achieved by scanning of the appropriate addressline in the appropriate cathode ray tube of the store. As explained inthe aforesaid paper by F. C. Williams and T. Kilburn, the cathode raytube store systems require for their operation that all the recordedinformation should be periodically regenerated, and this may be mostconveniently carried out by arranging that sequential regeneration takesplace during alternate, or so called "scan, beats according to a cyclicpattern while during intervening, or so called actionf beats selectedaddresses are made active ie. the contents of a single selected addressare made available for reading.

The mode of operation of the storage system with such interlaced scanand action beats, when taken in conjunction with the provision of a mainstore in which both data and instruction words are initially recorded,results in a rhythm of operation for the machine in which each barnormally comprises four beats. The above-mentioned existing machine, inorder to operate in this rhythm, comprises in addition to the main storereferred to above and an arithmetic organ, two subsidiary stores whichperform the controlling function for the machine. These stores, each ofwhich is of the cathode ray tube type, each has a capacity of one wordand the first, which was known as the control register, recorded anumber which is referred to in this specification as the controlinstruction" and which is effectively a number defining the address inthe main store of an instruction which is being currently obeyed, whilethe second store, which was known as the "current instruction store,"acts as an intermediate repository for each "current instruction wordread from the Main Store before that instruction word is fed to performits address selection and controlling functions. In simple operationduring the first (Scan l) beat of a bar the control instruction number(n) is caused to be increased by one, by means of a suitable addingcircuit associated with the regenerative loop of the control registerstore, and the number n-i-l, which is simultaneously read out, performsthe selection of the address in the main store of the next instructionto be obeyed. During the next (Action 1) beat the selected instructionword is read out of the Main Store and written into the currentinstruction store where it is held until the next (Scan 2) beat when itis read out of this subsidiary store and fed to the address selectionand routing control mechanism to prepare the source and destination anddirection of transfer which will be involved in the Word transfercomprised in the obeying of this instruction in the next beat. Duringthe fourth (Action 2) beat this instruction will be obeyed, a number orinstruction word being transferred between an address in the Main Storeand some other part of the machine (generally the arithmetic organ whena number is being transferred, but possibly the control register if acontrol transfer is being effected) and will generally be completed inthe single beat. lf, however, the instruction is one which calls for anarithmetic operation occupying more than one beat then provision is madefor holding up the initiation of the next bar until the scan beatfollowing the beat in which the completion of instruction occurs. In theaforesaid existing machine it was assumed that the instruction wordsrepresented in a coded form the address in the Main Store and theaddress in the arithmetic organ (or elsewhere) between which a numbertransfer was to be effected and that one digit of the instruction worddefined the direction in which the transfer was to occur.

The object of the present invention is to provide an improved computingmachine similar in general principle to such existing machine previouslyreferred to in which economy of apparatus, increased facilities ofoperation and enhanced operating speed may be achieved.

According to one feature of the invention the machine comprises a mainstorage device for recording both number and instruction data to beemployed in the solution of a problem, an arithmetical organ forperforming a chosen operation upon or between numbers or words fedthereto from said main storage device and a control systcm includingmeans for storing and utilising a control instruction word and means forstoring and utilising a particular or present instruction word selectedand transferred from said main storage device under the control of saidcontrol instruction word characterized in that the storage of both saidcontrol instruction word and said present instruction word are effectedwithin a single storage unit.

According to another feature of the invention the selection of thedesired data from the main storage device and the controlling of thesubsequent operation to be performed therewith within the machine areeffected through the intermediary of different digit portions of acommon instruction word.

According to a further feature of the invention the machine is providedwith means for testing a partial solution and, in accordance with theresult of such test, effecting conditional transfer of the control ofinstruction word selection to one or more different instruction words.

As already explained, machines of the general form described normallyoperate in a rhythm of four beats to a bar but in accordance with yet afurther feature of the invention a second storage device is provided forrecording instruction words and the operation of the machine thenarranged to take place in a bar consisting of two beats only during thefirst of which a chosen instruction word is read out from said secondstorage device and is used to prepare means for selecting a data itemfrom the rst or main storage device and to prepare means for performingthe required arithmetical or other operation while during the secondbeat such operations upon said data are obeyed whilst the control meanssimultaneously select the next instruction word in the second storagedevice in readiness for the next following operation. Such feature ofthe invention is particularly adapted for use with storage devices whichrequire repeated regeneration of the data held therein in which case therespective regeneration or scan beats and the operative or action beatsof the first and second storage devices are interleaved so that theinstruction storage device performs an action

